package ontology_tools;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

/**
 * Clase que contiene un Map<String,String> que representa
 * <OpciónUsuario,TraduccionSPARQL>.
 *
 * @author felipe & javi
 */
public class OptionTraduction {

    private Map<String, String> optionTraduction;

    public OptionTraduction() {
        this.optionTraduction = new LinkedHashMap<>();
    }

    /**
     * Inserta en el Map una opción y su traducción.
     *
     * @param option Opción para el usuario.
     * @param traduction Traducción de la opción para el usuario.
     */
    public void putOptionTraduction(String option, String traduction) {
        optionTraduction.put(option, traduction);
    }

    /**
     * Dada una opción, se devuelve su traducción.
     *
     * @param option Opción de la que se quiere obtener su traducción.
     * @return La traducción a la opción introducida.
     */
    public String getTraduction(String option) {
        return optionTraduction.get(option);
    }

    /**
     * Devuele todas las opciones dentro del Map.
     *
     * @return String[] con todas las opciones dentro del Map.
     */
    public String[] getOptions() {
        Set<String> keySet = optionTraduction.keySet();
        return keySet.toArray(new String[keySet.size()]);
    }
}